﻿/******************************************************************************* 
  Copyright (C), 1988-2020, zeno Tech. Co., Ltd.
  Description:  BMP图像数据转换接口头文件
  Function List:
            
*******************************************************************************/
#ifndef SYS_BMP_T 
#define SYS_BMP_T  

#ifdef __cplusplus
extern "C" {
#endif

/*=============================================================================
                                 Includes                                  
==============================================================================*/


/*=============================================================================
                               Macro Definition
==============================================================================*/

                        
/*=============================================================================
                        Local Structures and Typedef 
==============================================================================*/

/*bmp转换的格式类型*/
typedef enum
{
    BMP_TO_YUV420,
    BMP_TO_RGB1555,
    BMP_TO_YUV420SP,
}BMP_formatType_t;

/*bmp格式转换数据结构体*/
typedef struct 
{  
    unsigned char *pBuffer;
    unsigned int stride;
    unsigned int width;
    unsigned int height;
} BMP_logoInfo_t; 

/*=============================================================================
                             extern  Variables                                  
==============================================================================*/


/*=============================================================================
                             Function Definition                                  
==============================================================================*/ 
/*******************************************************************************
  Function:     BMP_Format
  Description:  bmp格式转换
  Input:        -pBuf: bmp数据
                -formatType: 转换的格式类型
  Output:       -pLogoInfo: 数据结构体指针
  Return:       0: 操作成功
                -1: 操作失败
  Others:       无
*******************************************************************************/
int BMP_Format(BMP_logoInfo_t *pLogoInfo, unsigned char *pBuf, int formatType);

/*******************************************************************************
  Function:     BMP_Release
  Description:  释放数据
  Input:        -pLogoInfo: 数据结构体指针
  Output:       无
  Return:       无
  Others:       无
*******************************************************************************/
void BMP_Release(BMP_logoInfo_t *pLogoInfo);

#ifdef __cplusplus
}
#endif

#endif // SYS_BMP_T 

